﻿#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <time.h>
//int main()
//{
//	/*int i = 0;
//	char str[] = "Test String.\n";
//	char c;
//	while (str[i])
//	{
//		c = str[i];
//		if (islower(c))
//			c -= 32;
//		putchar(c);
//		i++;
//	}
//	return 0;*/
//	/*char a = 'b';
//	putchar(a);*/
//
//
//
//
//	char* p = "hello bit";
//	
//	while (*p != '\0')
//	{
//		printf("%c", *p);
//		p++;
//	}
//	
//		
//}

//求1~100中3的倍数
//int main()
//{
//	for (int i = 1; i <= 100; i++)
//	{
//		if (i % 3 == 0)
//			printf("%d\n", i);
//	}
//	return 0;
//}


//乘法口诀表
//int main()
//{
//	int i = 0, j = 0;
//	for (i = 1; i < 10; i++)
//	{
//		for (j = 1; j <= i; j++)
//		{
//			printf("%d*%d=%d\t", j, i, i * j);
//		}
//		printf("\n");
//	}
//	return 0;
//}

//int main()
//{
//	int i = 0, j = 0,n=9;
//	for (i = 9; i > 0; i--)
//	{
//		for (int x =n; x < 9; x++)
//		{
//			    printf("\t");
//		}
//			for (j = n; j >= 1; j--)
//			{
//
//				printf("%d*%d=%d\t", j, i, i * j);
//
//			}
//			n--;
//			printf("\n");
//		
//	}
//	return 0;
//}


//求10个整数中的最大值
//int main()
//{
//	int arr[10] = { 0 };
//	for (int i = 0; i < 10; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	for (int i = 0; i < 9; i++)
//	{
//		if (arr[i] > arr[i + 1])
//		{
//			int temp = arr[i];
//			arr[i] = arr[i + 1];
//			arr[i + 1] = temp;
//		}
//	}
//	printf("最大值为%d", arr[9]);
//
//	return 0;
//}
//int main()
//{
//	int arr[10] = { 0 };
//	for (int i = 0; i < 10; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	int max = arr[0];
//	for (int i = 1; i < 10; i++)
//	{
//		if (max < arr[i])
//			max = arr[i];
//	}
//	printf("max=%d", max);
//
//	return 0;
//}




//求1/1+1/2+....+1/100的和
//int main()
//{
//	double sum = 0;
//	
//	for (int i = 1; i <= 100; i++)
//	{
//		sum += ((1.0 / i) );
//		
//	}
//	printf("sum=%lf", sum);
//}

//int main()
//{
//	double sum = 0;
//	int flag = 1;
//	for (int i = 1; i <= 100; i++)
//	{
//		sum += ((1.0 / i)*flag);
//		flag = -flag;
//	}
//	printf("sum=%lf", sum);
//}

//求1~100个数字中出现9的个数
//int main()
//{
//	int count = 0;
//	for (int i = 1; i <= 100; i++)
//	{
//		if (i % 10 == 9)
//		{
//			count++;
//		}
//		
//			if (i/10 == 9)
//			{
//				count++;
//			}
//
//		
//	}
//	printf("%d", count);
//	return 0;
//}



//打印100~200之间的素数
//int main()
//{
//	
//	for (int i = 100; i <= 200; i++)
//	{
//		 int flg = 1;
//		for (int j = 2; j < i; j++)
//		{
//			if (i % j == 0)
//			{
//				flg = 0;
//			}
//		}
//		if (flg == 1)
//			printf("%d\t", i);
//	}
//}


//打印1000~2000年中的闰年
//int main()
//{
//	int count = 0;
//	for (int i = 1000; i <= 2000; i++)
//	{
//		if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
//		{
//			count++;
//			printf("%d\t", i);
//		}
//	}
//	printf("\n");
//		printf("总共有%d个闰年",count);
//}


//求两个数的最大公约数
//int main()
//{
//	int a, b,min;
//	scanf("%d%d", &a, &b);
//	if (a < b)
//		min = a;
//	else min = b;
//	for (int i = min; i >= 1; i--)
//	{
//		if (a % i == 0 && b % i == 0)
//		{
//			printf("%d", i);
//			break;
//		}
//	}
//
//	return 0;
//
//}
//int main()
//{
//	int a = 81;
//	int b = 36;
//	int c=a/b;
//	while (c != 0)
//	{
//		a = b;
//		b = c;
//		c = a / b;
//
//	}
//	printf("%d", b);
//}



//输出对角线X
//int main()
//{
//	int n;
//	scanf("%d", &n);
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < n; j++)
//		{
//			if (i == j || (i + j) == n-1)
//				printf("*");
//			else
//			{
//				printf(" ");
//			}
//		}
//		printf("\n");
//	}
//	return 0;
//}




//打印空心正方形图案
//int main()
//{
//	int n;
//	scanf("%d", &n);
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < n; j++)
//		{
//			if (i == 0 || i == n - 1)
//				printf("* ");
//			else if (j == 0 || j == n - 1)
//				printf("* ");
//			else
//				printf("  ");
//
//		}
//		printf("\n");
//	}
//	return 0;
//
//}






//换行列
//int main()
//{
//	int arr[2][3] = { 1,2,3,4,5,6 };
//	for (int i = 0; i < 2; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			printf("%d ", arr[i][j]);
//		}
//		printf("\n");
//	}
//	int arr1[3][2];
//	for (int i = 0; i < 2; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			arr1[j][i] = arr[i][j];
//		}
//	}
//	for (int i = 0; i < 3; i++)
//	{
//		for (int j = 0; j < 2; j++)
//		{
//			printf("%d", arr1[i][j]);
//		}
//		printf("\n");
//	}
//}

//int main()
//{
//	/*int a, b;
//	scanf("%d%d", &a, &b);*/
//	int arr[4][3];
//	for (int i = 0; i < 4; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			scanf("%d", &arr[i][j]);
//		}
//	}
//	for (int i = 0; i < 4; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			printf("%d", arr[i][j]);
//		}
//		printf("\n");
//	}
//	for (int i = 0; i < 3; i++)
//	{
//		for (int j = 0; j < 4; j++)
//		{
//			printf("%d", arr[j][i]);
//		}
//		printf("\n");
//	}
//	return 0;
//
//}



//合并有序列表
//int main()
//{
//	int i = 0, j = 0;
//	int arr1[5] = { 11,22,33,44,55 };
//	int arr2[6] = {1,2,66,99,101,102};
//	while (i<5&&j<6)
//	{
//		if (arr1[i] < arr2[j])
//		{
//			printf("%d ", arr1[i]);
//			i++;
//		}
//		else
//		{
//			printf("%d ", arr2[j]);
//			j++;
//		}
//	}
//	while (i<5)
//	{
//		printf("%d ", arr1[i]);
//		i++;
//	}
//	while (j<6)
//	{
//		printf("%d ", arr2[j]);
//		j++;
//	}
//}



//输入10个整数，求平均值
//int main()
//{
//	int arr[10];
//	double sum = 0,ave;
//	for (int i = 0; i < 10; i++)
//	{
//		scanf("%d", &arr[i]);
//		sum += arr[i];
//	}
//	ave = sum / 10;
//	printf("%lf", ave);
//}



//交换两个数组内容，两个数组一样大
//int main()
//{
//	int arr1[5] = { 1,2,3,4,5 };
//	int arr2[5] = { 9,8,7,6,5 };
//	for (int i = 0; i < 5; i++)
//	{
//		printf("%d", arr1[i]);
//	}
//	printf("\n");
//	for (int i = 0; i < 5; i++)
//	{
//		printf("%d", arr2[i]);
//	}
//	printf("\n");
//	for (int i = 0; i < 5; i++)
//	{
//		int temp = arr1[i];
//		arr1[i] = arr2[i];
//		arr2[i] = temp;
//	}
//	for (int i = 0; i < 5; i++)
//	{
//		printf("%d", arr1[i]);
//	}
//	printf("\n");
//	for (int i = 0; i < 5; i++)
//	{
//		printf("%d", arr2[i]);
//	}
//}



//输入一行字符，统计出其中英文字母、空格、数字和其它字符的个数
//int main()
//{
//	int zm = 0, kg = 0, sz = 0, qt = 0;
//	char arr[10] = {0};
//	for (int i = 0; i <10 ; i++)
//	{
//		scanf("%c", &arr[i]);
//	}
//	for (int i = 0; i <10 ; i++)
//	{
//		if (arr[i] >= 'A' && arr[i] <= 'z')
//			zm++;
//		else if (arr[i] == ' ')
//			kg++;
//		else if (arr[i] >= '0' && arr[i] <= '9')
//			sz++;
//		else
//			qt++;
//	}
//	printf("字母的个数为%d\n", zm);
//	printf("空格的个数为%d\n", kg);
//	printf("数字的个数为%d\n", sz);
//	printf("其它的个数为%d\n", qt);
//
//
//}




//生成1~100的随机数
//int main()
//{
//	srand((unsigned int)54);
//	printf("%d\n", rand());
//	printf("%d\n", rand());
//	printf("%d\n", rand());
//	printf("%d\n", rand());
//	printf("%d\n", rand());
//	printf("%d\n", rand());
//	return 0;
//}

//生成1~100的随机数
//int main()
//{
//	srand((unsigned int)time(NULL));
//	printf("%d\n", (rand() % 100 + 1));
//	printf("%d\n", (rand() % 100 + 1));
//	printf("%d\n", (rand() % 100 + 1));
//	printf("%d\n", (rand() % 100 + 1));
//	printf("%d\n", (rand() % 100 + 1));
//	printf("%d\n", (rand() % 100 + 1));
//	return 0;
//}

//生成99~999的随机数
//int main()
//{
//	srand((unsigned int)time(NULL));
//	printf("%d\n", (rand() % 901 + 99));
//	printf("%d\n", (rand() % 901 + 99));
//	printf("%d\n", (rand() % 901 + 99));
//	printf("%d\n", (rand() % 901 + 99));
//	printf("%d\n", (rand() % 901 + 99));
//	printf("%d\n", (rand() % 901 + 99));
//	return 0;
//}



//猜数字游戏（猜1~50之间的数字）

//void game()
//{
//	int ret = (rand() % 50 + 1);
//	int n;
//	printf("请输入你要猜的数字\n");
//
//	while (1)
//	{
//		
//		scanf("%d", &n);
//		if (n < ret)
//		{
//			printf("猜小了\n");
//		}
//		else if (n > ret)
//		{
//			printf("猜大了\n");
//		}
//		else
//		{
//			printf("恭喜你，猜对了，数字为%d\n", n);
//			break;
//		}
//	}
//}
//
//void menu()
//{
//	printf("*******************\n");
//	printf("*****1.-->play*****\n");
//	printf("*****0.-->exit*****\n");
//	printf("*******************\n");
//}
//int main()
//{
//	int input = 0;
//	srand((unsigned int)time(NULL));
//	do
//	{
//		menu();
//		printf("请选择\n");
//		scanf("%d", &input);
//		switch (input)
//		{
//		case 1:
//			game();
//			break;
//		case 0:
//			printf("已退出游戏\n");
//			break;
//		default :
//			printf("选择错误，请重新选择\n");
//		
//		}
//
//
//	} while (input);
//}
//

//多个字符从两端移动，向中间汇聚
//int main()
//{
//	char arr1[] = "hellozhoujunjie...";
//	char arr2[] = "******************";
//	int left = 0;
//	int right = strlen(arr1) - 1;
//	while (left <= right)
//	{
//		Sleep(500);
//		arr2[left] = arr1[left];
//		arr2[right] = arr1[right];
//		printf("%s\n", arr2);
//		left++;
//		right--;
//	}
//	return 0;
//}


//是二分查找，也叫折半查找。
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int cz = 1;
//	int left = 0;
//	int right = sizeof(arr) / sizeof(arr[0]) - 1;
//	int mid;
//	int flag = 0;
//	while (left <= right)
//	{
//		mid = (left + right) / 2;
//		if (arr[mid] < cz)
//		{
//			left = mid + 1;
//		}
//		else if (arr[mid] > cz)
//		{
//			right = mid - 1;
//		}
//		else
//		{
//			printf("找到了，下标为%d\n", mid);
//			flag = 1;
//			break;
//		}
//	}
//	if (flag == 0)
//	{
//		printf("找不到");
//	}
//	return 0;
//}





//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int left = 0;
//	int right = sizeof(arr) / sizeof(arr[0]) - 1;
//	int key = 8;//要找的数字
//	int mid = 0;//记录中间元素的下标
//	int find = 0;
//	while (left <= right)
//	{
//		mid = (left + right) / 2;
//		if (arr[mid] > key)
//		{
//			right = mid - 1;
//		}
//		else if (arr[mid] < key)
//		{
//			left = mid + 1;
//		}
//		else
//		{
//			find = 1;
//			break;
//		}
//	}
//	if (1 == find)
//		printf("找到了,下标是%d\n", mid);
//	else
//		printf("找不到\n");
//}



//test()
//{
//	static int j = 0;
//	printf("%d\n", j);
//	j++;
//}
//
//int main()
//{
//	for (int i = 0; i < 5; i++)
//	{
//		test();
//	}
//}

//test()
//{
//	 int j = 0;
//	printf("%d\n", j); 
//	j++;
//}
//
//int main()
//{
//	for (int i = 0; i < 5; i++)
//	{
//		test();
//	}
//}


//int main()
//{
//	int arr[10] = { 1,2,3,45,67,89 };
//	for (int i = 0; i < 10; i++)
//	{
//		printf("%d", arr[i]);
//	}
//
//}


